import Vue from 'vue'
import App from './App.vue'
import router from './router'
import 'amfe-flexible'
Vue.config.productionTip = false
// 导入axios
import axios from 'axios'
const Axios = axios.create({
  // 配置前缀公共地址
  baseURL: 'http://43.138.15.137:8085/api/',
  // 超时配置
  timeout: 1000 * 0
})
// 把axios实例挂载到vue原型上
Vue.prototype.$http = Axios
// 请求拦截器
Axios.interceptors.request.use(function (config) {
  // console.log('请求拦截器')
  // 配置请求头并携带token
  config.headers.Authorization = localStorage.getItem('token')
  return config
  // 如果失败就执行以下代码
}, function (error) {
  return Promise.reject(error)
}
)

//全局注册自定义指令，用于判断当前图片是否能够加载成功，可以加载成功则赋值为img的src属性，否则使用默认图片
Vue.directive('real-img', async function (el, binding) {//指令名称为：real-img
  let imgURL = binding.value;//获取图片地址
  if (imgURL) {
      let exist = await imageIsExist(imgURL);
      if (exist) {
          el.setAttribute('src', imgURL);
      } 
  }
})

/**
* 检测图片是否存在
* @param url
*/
let imageIsExist = function(url) {
  return new Promise((resolve) => {
      var img = new Image();
      img.onload = function () {
          if (this.complete == true){
              resolve(true);
              img = null;
          }
      }
      img.onerror = function () {
          resolve(false);
          img = null;
      }
      img.src = url;
  })
}


new Vue({
  router,
  render: function (h) { return h(App) }
}).$mount('#app')
